package AccionBoton;

import java.awt.Color;
import java.awt.Window;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ResourceBundle;

import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

import paginas.PaginaEntornoCreacionTeclados;
import util.BotonPersonalizado;

public class AccionSeleccionBoton implements MouseListener{

	private BotonPersonalizado _boton;
	
	private PaginaEntornoCreacionTeclados _frame;
	private Window _ventana;
	private int vecesActivado = 0;
	
	public AccionSeleccionBoton(BotonPersonalizado b, PaginaEntornoCreacionTeclados frame, Window ventana){
		
		_boton = b;
		_frame = frame;
		_ventana = ventana;
	}

	public void mouseClicked(MouseEvent arg0) {
		
		vecesActivado++;
		
		if(_frame.getBotonseleccionado()!=null){
			BotonPersonalizado old = _frame.getBotonseleccionado();
			old.deseleccionar();
			old.addMouseListener(new accionRaton(old,Color.orange));
		}
		
		MouseListener[] m = _boton.getMouseListeners();
		
		if((vecesActivado % 2) != 0){
		
			for(int i=0; i<m.length;i++){
				if(m[i].getClass().equals(new accionRaton(_boton,Color.orange).getClass())){
					
					_boton.removeMouseListener(m[i]);
				}
			}
		
			_boton.seleccionar();
		}else _boton.deseleccionar();
		
		_frame.setBotonseleccionado(_boton);

		_ventana.pack();
		_ventana.repaint();
		_frame.pack();
		_frame.repaint();


	}

	public void mouseEntered(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	public void mouseExited(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}

	public void mousePressed(MouseEvent arg0) {
		
	}

	public void mouseReleased(MouseEvent arg0) {
		// TODO Auto-generated method stub
        JPopupMenu popup = new JPopupMenu();
		JMenuItem menuItem;
		if(arg0.getButton()==MouseEvent.BUTTON3){
			if(_frame.getBotonseleccionado()!=null){
			BotonPersonalizado old = _frame.getBotonseleccionado();
			old.deseleccionar();
			old.addMouseListener(new accionRaton(old,Color.orange));}
			MouseListener[] m = _boton.getMouseListeners();
			for(int i=0; i<m.length;i++){
				if(m[i].getClass().equals(new accionRaton(_boton,Color.orange).getClass())){
					
					_boton.removeMouseListener(m[i]);
				}
			}
			_boton.seleccionar();
			
			_frame.setBotonseleccionado(_boton);
				
	        //_boton.add(popup);
	        menuItem = new JMenuItem( ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_creacion_teclados_aspecto_boton"));
	        menuItem.addActionListener(new AccionAspectoBoton(_frame));
	        popup.add(menuItem);
	        menuItem = new JMenuItem( ResourceBundle.getBundle("internacionalizacion/Etiquetas").getString("etiqueta_menu_creacion_teclados_funcion_boton"));
	        menuItem.addActionListener(new AccionFuncionBoton(_frame));
	        popup.add(menuItem);
	        popup.show(_boton, arg0.getX(), arg0.getY());
			
		}
		_ventana.pack();
		_ventana.repaint();
		_frame.pack();
		_frame.repaint();
		
	}

	
}
